package br.com.expositor.negocios.controlador.itemmenu;

import java.util.ArrayList;
import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.expositor.negocios.entidade.ItemMenu;
import br.com.expositor.negocios.entidade.enumeration.PerfilEnum;
import br.com.expositor.negocios.infra.controlador.imp.ControladorGenerico;
import br.com.expositor.repositorio.DAO.entidade.itemmenu.FiltroItemMenu;
import br.com.expositor.repositorio.DAO.entidade.itemmenu.ItemMenuDAO;

@Service
public class ControladorItemMenu extends
		ControladorGenerico<ItemMenu, Long, FiltroItemMenu, ItemMenuDAO> {

	@Autowired
	public ControladorItemMenu(ItemMenuDAO itemMenuDAO) {
		super(itemMenuDAO);
	}

	public Collection<ItemMenu> consultarItensPerfil(PerfilEnum perfil) {
		FiltroItemMenu filtro = new FiltroItemMenu();
		filtro.addIsNull("itemPai");
		return this.montarMenu(this.getRepositorioDAO().consultar(filtro));
	}

	private Collection<ItemMenu> montarMenu(Collection<ItemMenu> itens) {
		Collection<ItemMenu> menu = new ArrayList<ItemMenu>();
		menu.addAll(itens);
		return menu;
	}

	@Override
	public void validarAlteracao(ItemMenu vo) {
		this.validarEntidade(vo);
	}

	private void validarEntidade(ItemMenu vo) {

	}

	@Override
	public void validarExclusao(ItemMenu vo) {

	}

	@Override
	public void validarInclusao(ItemMenu vo) {
		this.validarEntidade(vo);
	}

	@Override
	public void validarUnicidade(ItemMenu vo) {

	}
}
